// 导入express框架和Server类
import express, { Application } from "express";
import Server from "./src/index";

// 创建express应用实例
const app: Application = express();
// 创建Server实例
const server: Server = new Server(app);
// 获取环境变量PORT，如果不存在则默认为8080
const PORT: number = process.env.PORT ? parseInt(process.env.PORT, 10) : 8080;

// 监听指定端口和主机，启动服务器
app
  .listen(PORT, "0.0.0.0", function () {
    console.log(`Server is running on port ${PORT}.`);
  })
  .on("error", (err: any) => {
    // 如果端口已被占用，则输出相应错误信息
    if (err.code === "EADDRINUSE") {
      console.log("Error: address already in use");
    } else {
      // 否则输出错误信息
      console.log(err);
    }
  });
